In [1]:
# !pip install git+https://github.com/alberanid/imdbpy
# !pip install pandas
# !pip install numpy
# !pip install matplotlib
# !pip install seaborn
# !pip install pandas_profiling --upgrade
# !pip install plotly
# ! pip install wordcloud
# ! pip install Flask
In [2]:
# Import Dataset
# Import File from Loacal Drive
# from google.colab import files
# data_to_load = files.upload()
# from google.colab import drive
# drive.mount('/content/drive')
In [3]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
import collections
import plotly.express as px
import plotly.graph_objects as go
import nltk
import re
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.probability import FreqDist
from nltk.util import ngrams
from plotly.subplots import make_subplots
from plotly.offline import iplot, init_notebook_mode
from wordcloud import WordCloud, STOPWORDS
from pandas_profiling import ProfileReport
%matplotlib inline
warnings.filterwarnings("ignore")
In [4]:
nltk.download('all')
[nltk_data] Downloading collection 'all'
[nltk_data]    | 
[nltk_data]    | Downloading package abc to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package abc is already up-to-date!
[nltk_data]    | Downloading package alpino to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package alpino is already up-to-date!
[nltk_data]    | Downloading package biocreative_ppi to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package biocreative_ppi is already up-to-date!
[nltk_data]    | Downloading package brown to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package brown is already up-to-date!
[nltk_data]    | Downloading package brown_tei to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package brown_tei is already up-to-date!
[nltk_data]    | Downloading package cess_cat to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package cess_cat is already up-to-date!
[nltk_data]    | Downloading package cess_esp to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package cess_esp is already up-to-date!
[nltk_data]    | Downloading package chat80 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package chat80 is already up-to-date!
[nltk_data]    | Downloading package city_database to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package city_database is already up-to-date!
[nltk_data]    | Downloading package cmudict to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package cmudict is already up-to-date!
[nltk_data]    | Downloading package comparative_sentences to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package comparative_sentences is already up-to-
[nltk_data]    |       date!
[nltk_data]    | Downloading package comtrans to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package comtrans is already up-to-date!
[nltk_data]    | Downloading package conll2000 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package conll2000 is already up-to-date!
[nltk_data]    | Downloading package conll2002 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package conll2002 is already up-to-date!
[nltk_data]    | Downloading package conll2007 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package conll2007 is already up-to-date!
[nltk_data]    | Downloading package crubadan to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package crubadan is already up-to-date!
[nltk_data]    | Downloading package dependency_treebank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package dependency_treebank is already up-to-date!
[nltk_data]    | Downloading package dolch to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package dolch is already up-to-date!
[nltk_data]    | Downloading package europarl_raw to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package europarl_raw is already up-to-date!
[nltk_data]    | Downloading package floresta to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package floresta is already up-to-date!
[nltk_data]    | Downloading package framenet_v15 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package framenet_v15 is already up-to-date!
[nltk_data]    | Downloading package framenet_v17 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package framenet_v17 is already up-to-date!
[nltk_data]    | Downloading package gazetteers to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package gazetteers is already up-to-date!
[nltk_data]    | Downloading package genesis to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package genesis is already up-to-date!
[nltk_data]    | Downloading package gutenberg to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package gutenberg is already up-to-date!
[nltk_data]    | Downloading package ieer to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ieer is already up-to-date!
[nltk_data]    | Downloading package inaugural to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package inaugural is already up-to-date!
[nltk_data]    | Downloading package indian to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package indian is already up-to-date!
[nltk_data]    | Downloading package jeita to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package jeita is already up-to-date!
[nltk_data]    | Downloading package kimmo to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package kimmo is already up-to-date!
[nltk_data]    | Downloading package knbc to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package knbc is already up-to-date!
[nltk_data]    | Downloading package lin_thesaurus to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package lin_thesaurus is already up-to-date!
[nltk_data]    | Downloading package mac_morpho to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package mac_morpho is already up-to-date!
[nltk_data]    | Downloading package machado to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package machado is already up-to-date!
[nltk_data]    | Downloading package masc_tagged to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package masc_tagged is already up-to-date!
[nltk_data]    | Downloading package moses_sample to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package moses_sample is already up-to-date!
[nltk_data]    | Downloading package movie_reviews to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package movie_reviews is already up-to-date!
[nltk_data]    | Downloading package names to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package names is already up-to-date!
[nltk_data]    | Downloading package nombank.1.0 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package nombank.1.0 is already up-to-date!
[nltk_data]    | Downloading package nps_chat to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package nps_chat is already up-to-date!
[nltk_data]    | Downloading package omw to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package omw is already up-to-date!
[nltk_data]    | Downloading package opinion_lexicon to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package opinion_lexicon is already up-to-date!
[nltk_data]    | Downloading package paradigms to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package paradigms is already up-to-date!
[nltk_data]    | Downloading package pil to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package pil is already up-to-date!
[nltk_data]    | Downloading package pl196x to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package pl196x is already up-to-date!
[nltk_data]    | Downloading package ppattach to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ppattach is already up-to-date!
[nltk_data]    | Downloading package problem_reports to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package problem_reports is already up-to-date!
[nltk_data]    | Downloading package propbank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package propbank is already up-to-date!
[nltk_data]    | Downloading package ptb to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ptb is already up-to-date!
[nltk_data]    | Downloading package product_reviews_1 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package product_reviews_1 is already up-to-date!
[nltk_data]    | Downloading package product_reviews_2 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package product_reviews_2 is already up-to-date!
[nltk_data]    | Downloading package pros_cons to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package pros_cons is already up-to-date!
[nltk_data]    | Downloading package qc to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package qc is already up-to-date!
[nltk_data]    | Downloading package reuters to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package reuters is already up-to-date!
[nltk_data]    | Downloading package rte to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package rte is already up-to-date!
[nltk_data]    | Downloading package semcor to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package semcor is already up-to-date!
[nltk_data]    | Downloading package senseval to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package senseval is already up-to-date!
[nltk_data]    | Downloading package sentiwordnet to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sentiwordnet is already up-to-date!
[nltk_data]    | Downloading package sentence_polarity to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sentence_polarity is already up-to-date!
[nltk_data]    | Downloading package shakespeare to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package shakespeare is already up-to-date!
[nltk_data]    | Downloading package sinica_treebank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sinica_treebank is already up-to-date!
[nltk_data]    | Downloading package smultron to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package smultron is already up-to-date!
[nltk_data]    | Downloading package state_union to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package state_union is already up-to-date!
[nltk_data]    | Downloading package stopwords to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package stopwords is already up-to-date!
[nltk_data]    | Downloading package subjectivity to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package subjectivity is already up-to-date!
[nltk_data]    | Downloading package swadesh to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package swadesh is already up-to-date!
[nltk_data]    | Downloading package switchboard to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package switchboard is already up-to-date!
[nltk_data]    | Downloading package timit to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package timit is already up-to-date!
[nltk_data]    | Downloading package toolbox to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package toolbox is already up-to-date!
[nltk_data]    | Downloading package treebank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package treebank is already up-to-date!
[nltk_data]    | Downloading package twitter_samples to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package twitter_samples is already up-to-date!
[nltk_data]    | Downloading package udhr to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package udhr is already up-to-date!
[nltk_data]    | Downloading package udhr2 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package udhr2 is already up-to-date!
[nltk_data]    | Downloading package unicode_samples to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package unicode_samples is already up-to-date!
[nltk_data]    | Downloading package universal_treebanks_v20 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package universal_treebanks_v20 is already up-to-
[nltk_data]    |       date!
[nltk_data]    | Downloading package verbnet to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package verbnet is already up-to-date!
[nltk_data]    | Downloading package verbnet3 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package verbnet3 is already up-to-date!
[nltk_data]    | Downloading package webtext to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package webtext is already up-to-date!
[nltk_data]    | Downloading package wordnet to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package wordnet is already up-to-date!
[nltk_data]    | Downloading package wordnet_ic to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package wordnet_ic is already up-to-date!
[nltk_data]    | Downloading package words to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package words is already up-to-date!
[nltk_data]    | Downloading package ycoe to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ycoe is already up-to-date!
[nltk_data]    | Downloading package rslp to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package rslp is already up-to-date!
[nltk_data]    | Downloading package maxent_treebank_pos_tagger to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package maxent_treebank_pos_tagger is already up-
[nltk_data]    |       to-date!
[nltk_data]    | Downloading package universal_tagset to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package universal_tagset is already up-to-date!
[nltk_data]    | Downloading package maxent_ne_chunker to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package maxent_ne_chunker is already up-to-date!
[nltk_data]    | Downloading package punkt to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package punkt is already up-to-date!
[nltk_data]    | Downloading package book_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package book_grammars is already up-to-date!
[nltk_data]    | Downloading package sample_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sample_grammars is already up-to-date!
[nltk_data]    | Downloading package spanish_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package spanish_grammars is already up-to-date!
[nltk_data]    | Downloading package basque_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package basque_grammars is already up-to-date!
[nltk_data]    | Downloading package large_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package large_grammars is already up-to-date!
[nltk_data]    | Downloading package tagsets to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package tagsets is already up-to-date!
[nltk_data]    | Downloading package snowball_data to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package snowball_data is already up-to-date!
[nltk_data]    | Downloading package bllip_wsj_no_aux to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package bllip_wsj_no_aux is already up-to-date!
[nltk_data]    | Downloading package word2vec_sample to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package word2vec_sample is already up-to-date!
[nltk_data]    | Downloading package panlex_swadesh to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package panlex_swadesh is already up-to-date!
[nltk_data]    | Downloading package mte_teip5 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package mte_teip5 is already up-to-date!
[nltk_data]    | Downloading package averaged_perceptron_tagger to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package averaged_perceptron_tagger is already up-
[nltk_data]    |       to-date!
[nltk_data]    | Downloading package averaged_perceptron_tagger_ru to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package averaged_perceptron_tagger_ru is already
[nltk_data]    |       up-to-date!
[nltk_data]    | Downloading package perluniprops to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package perluniprops is already up-to-date!
[nltk_data]    | Downloading package nonbreaking_prefixes to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package nonbreaking_prefixes is already up-to-date!
[nltk_data]    | Downloading package vader_lexicon to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package vader_lexicon is already up-to-date!
[nltk_data]    | Downloading package porter_test to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package porter_test is already up-to-date!
[nltk_data]    | Downloading package wmt15_eval to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package wmt15_eval is already up-to-date!
[nltk_data]    | Downloading package mwa_ppdb to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package mwa_ppdb is already up-to-date!
[nltk_data]    | 
[nltk_data]  Done downloading collection all
Out[4]:
True
In [5]:
# path = '/content/drive/MyDrive/Files/'

path = 'C:\\Users\\pawan\\OneDrive\\Desktop\\ott\\Data\\'
 
df_movies = pd.read_csv(path + 'ottmovies.csv')
 
df_movies.head()
Out[5]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type
0 1 Inception 2010 13+ 8.8 87% Christopher Nolan Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot ... Action,Adventure,Sci-Fi,Thriller United States,United Kingdom English,Japanese,French Dom Cobb is a skilled thief, the absolute best... 148.0 movie NaN 1 0 0 0 0
1 2 The Matrix 1999 16+ 8.7 88% Lana Wachowski,Lilly Wachowski Keanu Reeves,Laurence Fishburne,Carrie-Anne Mo... Action,Sci-Fi United States English Thomas A. Anderson is a man living two lives. ... 136.0 movie NaN 1 0 0 0 0
2 3 Avengers: Infinity War 2018 13+ 8.4 85% Anthony Russo,Joe Russo Robert Downey Jr.,Chris Hemsworth,Mark Ruffalo... Action,Adventure,Sci-Fi United States English As the Avengers and their allies have continue... 149.0 movie NaN 1 0 0 0 0
3 4 Back to the Future 1985 7+ 8.5 96% Robert Zemeckis Michael J. Fox,Christopher Lloyd,Lea Thompson,... Adventure,Comedy,Sci-Fi United States English Marty McFly, a typical American teenager of th... 116.0 movie NaN 1 0 0 0 0
4 5 The Good, the Bad and the Ugly 1966 16+ 8.8 97% Sergio Leone Eli Wallach,Clint Eastwood,Lee Van Cleef,Aldo ... Western Italy,Spain,West Germany,United States Italian Blondie (The Good) (Clint Eastwood) is a profe... 161.0 movie NaN 1 0 1 0 0
In [6]:
# profile = ProfileReport(df_movies)
# profile
In [7]:
def data_investigate(df):
    print('No of Rows : ', df.shape[0])
    print('No of Coloums : ', df.shape[1])
    print('**'*25)
    print('Colums Names : \n', df.columns)
    print('**'*25)
    print('Datatype of Columns : \n', df.dtypes)
    print('**'*25)
    print('Missing Values : ')
    c = df.isnull().sum()
    c = c[c > 0]
    print(c)
    print('**'*25)
    print('Missing vaules %age wise :\n')
    print((100*(df.isnull().sum()/len(df.index))))
    print('**'*25)
    print('Pictorial Representation : ')
    plt.figure(figsize = (10, 10))
    sns.heatmap(df.isnull(), yticklabels = False, cbar = False)
    plt.show()
In [8]:
data_investigate(df_movies)
No of Rows :  16923
No of Coloums :  20
**************************************************
Colums Names : 
 Index(['ID', 'Title', 'Year', 'Age', 'IMDb', 'Rotten Tomatoes', 'Directors',
       'Cast', 'Genres', 'Country', 'Language', 'Plotline', 'Runtime', 'Kind',
       'Seasons', 'Netflix', 'Hulu', 'Prime Video', 'Disney+', 'Type'],
      dtype='object')
**************************************************
Datatype of Columns : 
 ID                   int64
Title               object
Year                 int64
Age                 object
IMDb               float64
Rotten Tomatoes     object
Directors           object
Cast                object
Genres              object
Country             object
Language            object
Plotline            object
Runtime            float64
Kind                object
Seasons            float64
Netflix              int64
Hulu                 int64
Prime Video          int64
Disney+              int64
Type                 int64
dtype: object
**************************************************
Missing Values : 
Age                 8457
IMDb                 328
Rotten Tomatoes    10437
Directors            357
Cast                 648
Genres               234
Country              303
Language             437
Plotline            4958
Runtime              382
Seasons            16923
dtype: int64
**************************************************
Missing vaules %age wise :

ID                   0.000000
Title                0.000000
Year                 0.000000
Age                 49.973409
IMDb                 1.938191
Rotten Tomatoes     61.673462
Directors            2.109555
Cast                 3.829108
Genres               1.382734
Country              1.790463
Language             2.582284
Plotline            29.297406
Runtime              2.257283
Kind                 0.000000
Seasons            100.000000
Netflix              0.000000
Hulu                 0.000000
Prime Video          0.000000
Disney+              0.000000
Type                 0.000000
dtype: float64
**************************************************
Pictorial Representation : 
In [9]:
# ID
# df_movies = df_movies.drop(['ID'], axis = 1)
 
# Age
df_movies.loc[df_movies['Age'].isnull() & df_movies['Disney+'] == 1, "Age"] = '13'
# df_movies.fillna({'Age' : 18}, inplace = True)
df_movies.fillna({'Age' : 'NR'}, inplace = True)
df_movies['Age'].replace({'all': '0'}, inplace = True)
df_movies['Age'].replace({'7+': '7'}, inplace = True)
df_movies['Age'].replace({'13+': '13'}, inplace = True)
df_movies['Age'].replace({'16+': '16'}, inplace = True)
df_movies['Age'].replace({'18+': '18'}, inplace = True)
# df_movies['Age'] = df_movies['Age'].astype(int)
 
# IMDb
# df_movies.fillna({'IMDb' : df_movies['IMDb'].mean()}, inplace = True)
# df_movies.fillna({'IMDb' : df_movies['IMDb'].median()}, inplace = True)
df_movies.fillna({'IMDb' : "NA"}, inplace = True)
 
# Rotten Tomatoes
df_movies['Rotten Tomatoes'] = df_movies['Rotten Tomatoes'][df_movies['Rotten Tomatoes'].notnull()].str.replace('%', '').astype(int)
# df_movies['Rotten Tomatoes'] = df_movies['Rotten Tomatoes'][df_movies['Rotten Tomatoes'].notnull()].astype(int)
# df_movies.fillna({'Rotten Tomatoes' : df_movies['Rotten Tomatoes'].mean()}, inplace = True)
# df_movies.fillna({'Rotten Tomatoes' : df_movies['Rotten Tomatoes'].median()}, inplace = True)
# df_movies['Rotten Tomatoes'] = df_movies['Rotten Tomatoes'].astype(int)
df_movies.fillna({'Rotten Tomatoes' : "NA"}, inplace = True)
 
# Directors
# df_movies = df_movies.drop(['Directors'], axis = 1)
df_movies.fillna({'Directors' : "NA"}, inplace = True)
 
# Cast
df_movies.fillna({'Cast' : "NA"}, inplace = True)
 
# Genres
df_movies.fillna({'Genres': "NA"}, inplace = True)
 
# Country
df_movies.fillna({'Country': "NA"}, inplace = True)
 
# Language
df_movies.fillna({'Language': "NA"}, inplace = True)
 
# Plotline
df_movies.fillna({'Plotline': "NA"}, inplace = True)
 
# Runtime
# df_movies.fillna({'Runtime' : df_movies['Runtime'].mean()}, inplace = True)
# df_movies['Runtime'] = df_movies['Runtime'].astype(int)
df_movies.fillna({'Runtime' : "NA"}, inplace = True)
 
# Kind
# df_movies.fillna({'Kind': "NA"}, inplace = True)
 
# Type
# df_movies.fillna({'Type': "NA"}, inplace = True)
# df_movies = df_movies.drop(['Type'], axis = 1)
 
# Seasons
# df_movies.fillna({'Seasons': 1}, inplace = True)
# df_movies.fillna({'Seasons': "NA"}, inplace = True)
df_movies = df_movies.drop(['Seasons'], axis = 1)
# df_movies['Seasons'] = df_movies['Seasons'].astype(int)
# df_movies.fillna({'Seasons' : df_movies['Seasons'].mean()}, inplace = True)
# df_movies['Seasons'] = df_movies['Seasons'].astype(int)
 
# Service Provider
df_movies['Service Provider'] = df_movies.loc[:, ['Netflix', 'Prime Video', 'Disney+', 'Hulu']].idxmax(axis = 1)
# df_movies.drop(['Netflix','Prime Video','Disney+','Hulu'], axis = 1)

# Removing Duplicate and Missing Entries
df_movies.dropna(how = 'any', inplace = True)
df_movies.drop_duplicates(inplace = True)
In [10]:
data_investigate(df_movies)
No of Rows :  16923
No of Coloums :  20
**************************************************
Colums Names : 
 Index(['ID', 'Title', 'Year', 'Age', 'IMDb', 'Rotten Tomatoes', 'Directors',
       'Cast', 'Genres', 'Country', 'Language', 'Plotline', 'Runtime', 'Kind',
       'Netflix', 'Hulu', 'Prime Video', 'Disney+', 'Type',
       'Service Provider'],
      dtype='object')
**************************************************
Datatype of Columns : 
 ID                   int64
Title               object
Year                 int64
Age                 object
IMDb                object
Rotten Tomatoes     object
Directors           object
Cast                object
Genres              object
Country             object
Language            object
Plotline            object
Runtime             object
Kind                object
Netflix              int64
Hulu                 int64
Prime Video          int64
Disney+              int64
Type                 int64
Service Provider    object
dtype: object
**************************************************
Missing Values : 
Series([], dtype: int64)
**************************************************
Missing vaules %age wise :

ID                  0.0
Title               0.0
Year                0.0
Age                 0.0
IMDb                0.0
Rotten Tomatoes     0.0
Directors           0.0
Cast                0.0
Genres              0.0
Country             0.0
Language            0.0
Plotline            0.0
Runtime             0.0
Kind                0.0
Netflix             0.0
Hulu                0.0
Prime Video         0.0
Disney+             0.0
Type                0.0
Service Provider    0.0
dtype: float64
**************************************************
Pictorial Representation : 
In [11]:
df_movies.head()
Out[11]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider
0 1 Inception 2010 13 8.8 87 Christopher Nolan Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot ... Action,Adventure,Sci-Fi,Thriller United States,United Kingdom English,Japanese,French Dom Cobb is a skilled thief, the absolute best... 148 movie 1 0 0 0 0 Netflix
1 2 The Matrix 1999 16 8.7 88 Lana Wachowski,Lilly Wachowski Keanu Reeves,Laurence Fishburne,Carrie-Anne Mo... Action,Sci-Fi United States English Thomas A. Anderson is a man living two lives. ... 136 movie 1 0 0 0 0 Netflix
2 3 Avengers: Infinity War 2018 13 8.4 85 Anthony Russo,Joe Russo Robert Downey Jr.,Chris Hemsworth,Mark Ruffalo... Action,Adventure,Sci-Fi United States English As the Avengers and their allies have continue... 149 movie 1 0 0 0 0 Netflix
3 4 Back to the Future 1985 7 8.5 96 Robert Zemeckis Michael J. Fox,Christopher Lloyd,Lea Thompson,... Adventure,Comedy,Sci-Fi United States English Marty McFly, a typical American teenager of th... 116 movie 1 0 0 0 0 Netflix
4 5 The Good, the Bad and the Ugly 1966 16 8.8 97 Sergio Leone Eli Wallach,Clint Eastwood,Lee Van Cleef,Aldo ... Western Italy,Spain,West Germany,United States Italian Blondie (The Good) (Clint Eastwood) is a profe... 161 movie 1 0 1 0 0 Netflix
In [12]:
df_movies.describe()
Out[12]:
ID Year Netflix Hulu Prime Video Disney+ Type
count 16923.000000 16923.000000 16923.000000 16923.000000 16923.000000 16923.000000 16923.0
mean 8462.000000 2003.211901 0.214915 0.062637 0.727235 0.033150 0.0
std 4885.393638 20.526532 0.410775 0.242315 0.445394 0.179034 0.0
min 1.000000 1901.000000 0.000000 0.000000 0.000000 0.000000 0.0
25% 4231.500000 2001.000000 0.000000 0.000000 0.000000 0.000000 0.0
50% 8462.000000 2012.000000 0.000000 0.000000 1.000000 0.000000 0.0
75% 12692.500000 2016.000000 0.000000 0.000000 1.000000 0.000000 0.0
max 16923.000000 2020.000000 1.000000 1.000000 1.000000 1.000000 0.0
In [13]:
df_movies.corr()
Out[13]:
ID Year Netflix Hulu Prime Video Disney+ Type
ID 1.000000 -0.217816 -0.644470 -0.129926 0.469301 0.263530 NaN
Year -0.217816 1.000000 0.256151 0.101337 -0.255578 -0.047258 NaN
Netflix -0.644470 0.256151 1.000000 -0.118032 -0.745141 -0.089649 NaN
Hulu -0.129926 0.101337 -0.118032 1.000000 -0.284654 -0.039693 NaN
Prime Video 0.469301 -0.255578 -0.745141 -0.284654 1.000000 -0.289008 NaN
Disney+ 0.263530 -0.047258 -0.089649 -0.039693 -0.289008 1.000000 NaN
Type NaN NaN NaN NaN NaN NaN NaN
In [14]:
# df_movies.sort_values('Year', ascending = True)
# df_movies.sort_values('IMDb', ascending = False)
In [15]:
# df_movies.to_csv(path_or_buf= '/content/drive/MyDrive/Files/updated_ottmovies.csv', index = False)
 
# path = '/content/drive/MyDrive/Files/'
 
# udf_movies = pd.read_csv(path + 'updated_ottmovies.csv')
 
# udf_movies
In [16]:
# df_netflix_movies = df_movies.loc[(df_movies['Netflix'] > 0)]
# df_hulu_movies = df_movies.loc[(df_movies['Hulu'] > 0)]
# df_prime_video_movies = df_movies.loc[(df_movies['Prime Video'] > 0)]
# df_disney_movies = df_movies.loc[(df_movies['Disney+'] > 0)]
In [17]:
df_netflix_only_movies = df_movies[(df_movies['Netflix'] == 1) & (df_movies['Hulu'] == 0) & (df_movies['Prime Video'] == 0 ) & (df_movies['Disney+'] == 0)]
df_hulu_only_movies = df_movies[(df_movies['Netflix'] == 0) & (df_movies['Hulu'] == 1) & (df_movies['Prime Video'] == 0 ) & (df_movies['Disney+'] == 0)]
df_prime_video_only_movies = df_movies[(df_movies['Netflix'] == 0) & (df_movies['Hulu'] == 0) & (df_movies['Prime Video'] == 1 ) & (df_movies['Disney+'] == 0)]
df_disney_only_movies = df_movies[(df_movies['Netflix'] == 0) & (df_movies['Hulu'] == 0) & (df_movies['Prime Video'] == 0 ) & (df_movies['Disney+'] == 1)]
In [18]:
df_movies_ott = df_movies.copy()
In [19]:
df_movies_ott.drop(df_movies_ott.loc[df_movies_ott['Title'] == "NA"].index, inplace = True)
# df_movies_ott = df_movies_ott[df_movies_ott.Title != "NA"]
In [20]:
# Creating distinct dataframes only with the movies present on individual streaming platforms
netflix_ott_movies = df_movies_ott.loc[df_movies_ott['Netflix'] == 1]
hulu_ott_movies = df_movies_ott.loc[df_movies_ott['Hulu'] == 1]
prime_video_ott_movies = df_movies_ott.loc[df_movies_ott['Prime Video'] == 1]
disney_ott_movies = df_movies_ott.loc[df_movies_ott['Disney+'] == 1]
In [21]:
df_movies_ott_group = df_movies_ott.copy()
In [22]:
plt.figure(figsize = (10, 10))
corr = df_movies_ott.corr()
# Plot figsize
fig, ax = plt.subplots(figsize=(10, 8))
# Generate Heat Map, allow annotations and place floats in map
sns.heatmap(corr, cmap = 'magma', annot = True, fmt = ".2f")
# Apply xticks
plt.xticks(range(len(corr.columns)), corr.columns);
# Apply yticks
plt.yticks(range(len(corr.columns)), corr.columns)
# show plot
plt.show()
fig.show()
<Figure size 720x720 with 0 Axes>
In [23]:
print('\nMovies Available on All Platfroms Are : \n')
df_movies_ott.head(5)
Movies Available on All Platfroms Are : 

Out[23]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider
0 1 Inception 2010 13 8.8 87 Christopher Nolan Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot ... Action,Adventure,Sci-Fi,Thriller United States,United Kingdom English,Japanese,French Dom Cobb is a skilled thief, the absolute best... 148 movie 1 0 0 0 0 Netflix
1 2 The Matrix 1999 16 8.7 88 Lana Wachowski,Lilly Wachowski Keanu Reeves,Laurence Fishburne,Carrie-Anne Mo... Action,Sci-Fi United States English Thomas A. Anderson is a man living two lives. ... 136 movie 1 0 0 0 0 Netflix
2 3 Avengers: Infinity War 2018 13 8.4 85 Anthony Russo,Joe Russo Robert Downey Jr.,Chris Hemsworth,Mark Ruffalo... Action,Adventure,Sci-Fi United States English As the Avengers and their allies have continue... 149 movie 1 0 0 0 0 Netflix
3 4 Back to the Future 1985 7 8.5 96 Robert Zemeckis Michael J. Fox,Christopher Lloyd,Lea Thompson,... Adventure,Comedy,Sci-Fi United States English Marty McFly, a typical American teenager of th... 116 movie 1 0 0 0 0 Netflix
4 5 The Good, the Bad and the Ugly 1966 16 8.8 97 Sergio Leone Eli Wallach,Clint Eastwood,Lee Van Cleef,Aldo ... Western Italy,Spain,West Germany,United States Italian Blondie (The Good) (Clint Eastwood) is a profe... 161 movie 1 0 1 0 0 Netflix
In [24]:
print('\nMovies Available on Netflix Are : \n')
netflix_ott_movies.head(5)
Movies Available on Netflix Are : 

Out[24]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider
0 1 Inception 2010 13 8.8 87 Christopher Nolan Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot ... Action,Adventure,Sci-Fi,Thriller United States,United Kingdom English,Japanese,French Dom Cobb is a skilled thief, the absolute best... 148 movie 1 0 0 0 0 Netflix
1 2 The Matrix 1999 16 8.7 88 Lana Wachowski,Lilly Wachowski Keanu Reeves,Laurence Fishburne,Carrie-Anne Mo... Action,Sci-Fi United States English Thomas A. Anderson is a man living two lives. ... 136 movie 1 0 0 0 0 Netflix
2 3 Avengers: Infinity War 2018 13 8.4 85 Anthony Russo,Joe Russo Robert Downey Jr.,Chris Hemsworth,Mark Ruffalo... Action,Adventure,Sci-Fi United States English As the Avengers and their allies have continue... 149 movie 1 0 0 0 0 Netflix
3 4 Back to the Future 1985 7 8.5 96 Robert Zemeckis Michael J. Fox,Christopher Lloyd,Lea Thompson,... Adventure,Comedy,Sci-Fi United States English Marty McFly, a typical American teenager of th... 116 movie 1 0 0 0 0 Netflix
4 5 The Good, the Bad and the Ugly 1966 16 8.8 97 Sergio Leone Eli Wallach,Clint Eastwood,Lee Van Cleef,Aldo ... Western Italy,Spain,West Germany,United States Italian Blondie (The Good) (Clint Eastwood) is a profe... 161 movie 1 0 1 0 0 Netflix
In [25]:
print('\nMovies Available on Hulu Are : \n')
hulu_ott_movies.head(5)
Movies Available on Hulu Are : 

Out[25]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider
66 67 Blackfish 2013 13 8.1 98 Gabriela Cowperthwaite Tilikum,John Hargrove,Samantha Berg,Mark Simmo... Documentary United States English,Spanish Notorious killer whale Tilikum is responsible ... 83 movie 1 1 0 0 0 Netflix
94 95 Jiro Dreams of Sushi 2011 7 7.9 99 David Gelb Jiro Ono,Yoshikazu Ono,Masuhiro Yamamoto,Daisu... Documentary United States Japanese In the basement of a Tokyo office building, 85... 81 movie 1 1 0 0 0 Netflix
142 143 The Patriot 2000 16 7.2 62 Roland Emmerich Mel Gibson,Heath Ledger,Joely Richardson,Jason... Action,Drama,History,War United States,Germany English,French It is 1776 in colonial South Carolina. Benjami... 165 movie 1 1 0 0 0 Netflix
144 145 The Square 2013 16 7.2 20 Ruben Östlund Claes Bang,Elisabeth Moss,Dominic West,Terry N... Comedy,Drama Sweden,Germany,France,Denmark,United States Swedish,English,Danish Christian is the respected curator of a contem... 151 movie 1 1 1 0 0 Netflix
210 211 Hitch 2005 13 6.6 69 Andy Tennant Will Smith,Eva Mendes,Kevin James,Amber Vallet... Comedy,Romance United States English Pivoting around the eternal game of love, the ... 118 movie 1 1 0 0 0 Netflix
In [26]:
print('\nMovies Available on Prime Video Are : \n')
prime_video_ott_movies.head(5)
Movies Available on Prime Video Are : 

Out[26]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider
4 5 The Good, the Bad and the Ugly 1966 16 8.8 97 Sergio Leone Eli Wallach,Clint Eastwood,Lee Van Cleef,Aldo ... Western Italy,Spain,West Germany,United States Italian Blondie (The Good) (Clint Eastwood) is a profe... 161 movie 1 0 1 0 0 Netflix
6 7 The Pianist 2002 16 8.5 95 Roman Polanski Adrien Brody,Emilia Fox,Michal Zebrowski,Ed St... Biography,Drama,Music,War United Kingdom,France,Poland,Germany,United St... English,German,Russian In this adaptation of the autobiography "The P... 150 movie 1 0 1 0 0 Netflix
11 12 3 Idiots 2009 13 8.4 100 Rajkumar Hirani Aamir Khan,Madhavan,Sharman Joshi,Kareena Kapo... Comedy,Drama India Hindi,English Farhan Qureshi and Raju Rastogi want to re-uni... 170 movie 1 0 1 0 0 Netflix
15 16 Once Upon a Time in the West 1968 13 8.5 95 Sergio Leone Claudia Cardinale,Henry Fonda,Jason Robards,Ch... Western Italy,United States English,Italian,Spanish Jill McBain travels to the wild frontier; Utah... 165 movie 1 0 1 0 0 Netflix
31 32 Drive 2011 16 7.8 38 Nicolas Winding Refn Ryan Gosling,Carey Mulligan,Bryan Cranston,Alb... Crime,Drama United States English,Spanish This action drama follows a mysterious man who... 100 movie 1 0 1 0 0 Netflix
In [27]:
print('\nMovies Available on Disney+ Are : \n')
disney_ott_movies.head(5)
Movies Available on Disney+ Are : 

Out[27]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider
92 93 Saving Mr. Banks 2013 13 7.5 79 John Lee Hancock Emma Thompson,Tom Hanks,Annie Rose Buckley,Col... Biography,Comedy,Drama United States,United Kingdom,Australia English When Walter Elias Disney's (Tom Hanks') daught... 125 movie 1 0 0 1 0 Netflix
118 119 Bolt 2008 7 6.8 89 Byron Howard,Chris Williams John Travolta,Miley Cyrus,Susie Essman,Mark Wa... Animation,Adventure,Comedy,Family,Fantasy United States English Bolt, an American white shepherd, has lived hi... 96 movie 1 0 0 1 0 Netflix
121 122 The Princess and the Frog 2009 0 7.1 85 Ron Clements,John Musker Anika Noni Rose,Bruno Campos,Keith David,Micha... Animation,Adventure,Comedy,Family,Fantasy,Musi... United States English,French A modern day retelling of the classic story Th... 97 movie 1 0 0 1 0 Netflix
146 147 Miracle 2004 7 7.5 81 Gavin O'Connor Kurt Russell,Patricia Clarkson,Noah Emmerich,S... Biography,Drama,History,Sport Canada,United States English The inspiring story of the team that transcend... 135 movie 1 0 0 1 0 Netflix
474 475 White Fang 2018 7 6.7 65 Randal Kleiser Jed,Klaus Maria Brandauer,Ethan Hawke,Seymour ... Adventure,Drama United States English Jack London's immortal tale of courage and sur... 107 movie 1 0 0 1 0 Netflix
In [28]:
print(f'''
      Total '{df_movies_ott['Title'].count()}' Titles are available on All Platforms, out of Which,\n
      Total '{netflix_ott_movies['Title'].count()}' Titles are available on 'Netflix'
      Total '{hulu_ott_movies['Title'].count()}' Titles are available on 'Hulu'
      Total '{prime_video_ott_movies['Title'].count()}' Titles are available on 'Prime video'
      Total '{disney_ott_movies['Title'].count()}' Titles are available on 'Disney+'
      ''')
      Total '16923' Titles are available on All Platforms, out of Which,

      Total '3637' Titles are available on 'Netflix'
      Total '1060' Titles are available on 'Hulu'
      Total '12307' Titles are available on 'Prime video'
      Total '561' Titles are available on 'Disney+'
      
In [29]:
Platform = ['Netflix', 'Hulu', 'Prime Video', 'Disney+']

Count = [netflix_ott_movies['Title'].count(),
         hulu_ott_movies['Title'].count(),
         prime_video_ott_movies['Title'].count(),
         disney_ott_movies['Title'].count()]
 
fig = px.pie(names = Platform,
             values = Count,
             title = 'Movies Count Of Different Platforms',
             color_discrete_sequence = px.colors.sequential.Teal)

fig.update_traces(textposition = 'inside',
                  textinfo = 'percent + label') 
fig.show()
In [30]:
df_movies_ott['OTT Count'] = df_movies_ott['Netflix'] + df_movies_ott['Hulu'] + df_movies_ott['Prime Video'] + df_movies_ott['Disney+']
In [31]:
(df_movies_ott['OTT Count'].value_counts()/df_movies_ott.shape[0])*100
Out[31]:
1    96.259528
2     3.687289
3     0.053182
Name: OTT Count, dtype: float64
In [32]:
print(f'''
      Total '{df_movies_ott[df_movies_ott['OTT Count'] == 4].shape[0]}' Titles are available on All Platforms
      Total '{df_movies_ott[df_movies_ott['OTT Count'] == 3].shape[0]}' Titles are available on at least 3 Platforms
      Total '{df_movies_ott[df_movies_ott['OTT Count'] == 2].shape[0]}' Titles are available on at least 2 Platforms
      Total '{df_movies_ott[df_movies_ott['OTT Count'] == 1].shape[0]}' Titles are available on at least 1 Platforms
      ''')
      Total '0' Titles are available on All Platforms
      Total '9' Titles are available on at least 3 Platforms
      Total '624' Titles are available on at least 2 Platforms
      Total '16290' Titles are available on at least 1 Platforms
      
In [33]:
# Movies Available on All Platforms

# df_movies_ott[(df_movies_ott['Netflix'] == 1) & (df_movies_ott['Hulu'] == 1) & (df_movies_ott['Prime Video'] == 1) & (df_movies_ott['Disney+'] == 1)]
print('\nTotal ', df_movies_ott[df_movies_ott['OTT Count'] == 4].shape[0], ' Titles are available on All Platforms\n')
movies_on_4_platforms = df_movies_ott[df_movies_ott['OTT Count'] == 4]
movies_on_4_platforms
Total  0  Titles are available on All Platforms

Out[33]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count

0 rows × 21 columns

In [34]:
# Movies Available on at least 3 Platforms

print('\nTotal ', df_movies_ott[df_movies_ott['OTT Count'] == 3].shape[0], ' Titles are available on at least 3 Platforms\n')
movies_on_3_platforms = df_movies_ott[df_movies_ott['OTT Count'] == 3]
movies_on_3_platforms
Total  9  Titles are available on at least 3 Platforms

Out[34]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
144 145 The Square 2013 16 7.2 20 Ruben Östlund Claes Bang,Elisabeth Moss,Dominic West,Terry N... Comedy,Drama Sweden,Germany,France,Denmark,United States ... Christian is the respected curator of a contem... 151 movie 1 1 1 0 0 Netflix 3
334 335 The Interview 2014 16 6.5 63 Evan Goldberg,Seth Rogen James Franco,Seth Rogen,Lizzy Caplan,Randall P... Action,Adventure,Comedy United States ... In the action-comedy The Interview, Dave Skyla... 112 movie 1 1 1 0 0 Netflix 3
489 490 Blame! 2017 13 6.7 93 Hiroyuki Seshita Takahiro Sakurai,Kana Hanazawa,Sora Amamiya,Ma... Animation,Action,Drama,Sci-Fi,Thriller Japan ... In the distant technological future, civilizat... 106 movie 1 1 1 0 0 Netflix 3
601 602 Evolution 2001 13 6.1 17 Ivan Reitman David Duchovny,Julianne Moore,Orlando Jones,Se... Comedy,Sci-Fi United States ... When a meteorite falls to Earth two college pr... 101 movie 1 1 1 0 0 Netflix 3
1113 1114 No Game No Life: Zero 2017 13 7.5 NA Atsuko Ishizuka Alexandra Bedford,Jessica Boone,Ricardo Contre... Animation,Adventure,Comedy,Drama,Fantasy,Romance Japan ... The Movie following the light novel series by ... 110 movie 1 1 1 0 0 Netflix 3
1982 1983 Mother 2016 16 6.6 100 Darren Aronofsky Jennifer Lawrence,Javier Bardem,Ed Harris,Mich... Drama,Horror,Mystery United States ... Amidst a wild flat meadow encircled by an Eden... 121 movie 1 1 1 0 0 Netflix 3
3851 3852 The Kid 2019 16 5.9 87 Vincent D'Onofrio Jake Schur,Leila George,Chris Pratt,Dane DeHaa... Biography,Drama,Western United States ... New Mexico Territory, 1880. Rio Cutler and his... 100 movie 0 1 1 1 0 Prime Video 3
4192 4193 Inside Out 2011 7 8.1 98 Pete Docter,Ronnie Del Carmen Amy Poehler,Phyllis Smith,Richard Kind,Bill Ha... Animation,Adventure,Comedy,Drama,Family,Fantasy United States ... Growing up can be a bumpy road, and it's no ex... 95 movie 0 1 1 1 0 Prime Video 3
16246 16247 Rurouni Kenshin 1996 18 7.5 NA Keishi Ohtomo Takeru Satoh,Emi Takei,Yû Aoi,Munetaka Aoki,Gô... Action,Adventure,Drama,History Japan ... NA 134 movie 1 1 1 0 0 Netflix 3

9 rows × 21 columns

In [35]:
# Movies Available on at least 2 Platforms
print('\nTotal ', df_movies_ott[df_movies_ott['OTT Count'] == 2].shape[0], ' Titles are available on at least 2 Platforms\n')
movies_on_2_platforms = df_movies_ott[df_movies_ott['OTT Count'] == 2]
movies_on_2_platforms
Total  624  Titles are available on at least 2 Platforms

Out[35]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
4 5 The Good, the Bad and the Ugly 1966 16 8.8 97 Sergio Leone Eli Wallach,Clint Eastwood,Lee Van Cleef,Aldo ... Western Italy,Spain,West Germany,United States ... Blondie (The Good) (Clint Eastwood) is a profe... 161 movie 1 0 1 0 0 Netflix 2
6 7 The Pianist 2002 16 8.5 95 Roman Polanski Adrien Brody,Emilia Fox,Michal Zebrowski,Ed St... Biography,Drama,Music,War United Kingdom,France,Poland,Germany,United St... ... In this adaptation of the autobiography "The P... 150 movie 1 0 1 0 0 Netflix 2
11 12 3 Idiots 2009 13 8.4 100 Rajkumar Hirani Aamir Khan,Madhavan,Sharman Joshi,Kareena Kapo... Comedy,Drama India ... Farhan Qureshi and Raju Rastogi want to re-uni... 170 movie 1 0 1 0 0 Netflix 2
15 16 Once Upon a Time in the West 1968 13 8.5 95 Sergio Leone Claudia Cardinale,Henry Fonda,Jason Robards,Ch... Western Italy,United States ... Jill McBain travels to the wild frontier; Utah... 165 movie 1 0 1 0 0 Netflix 2
31 32 Drive 2011 16 7.8 38 Nicolas Winding Refn Ryan Gosling,Carey Mulligan,Bryan Cranston,Alb... Crime,Drama United States ... This action drama follows a mysterious man who... 100 movie 1 0 1 0 0 Netflix 2
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16555 16556 It's Alive with Brad 2018 NR NA NA NA Shep Gordon Short United States ... NA 12 movie 0 1 1 0 0 Prime Video 2
16564 16565 #ThatsHarassment 2018 18 6.1 NA Sigal Avin Emmy Rossum,Harry Lennix,David Schwimmer,Zazie... Short United States ... NA 26 movie 0 1 1 0 0 Prime Video 2
16567 16568 Actually Me 2017 16 7.6 NA Richard Curtis Bill Nighy,Gregor Fisher,Rory MacGregor,Colin ... Comedy,Drama,Romance United Kingdom,United States,France ... NA 135 movie 0 1 1 0 0 Prime Video 2
16572 16573 Hello World 2016 NR 6.8 NA Tomohiko Itô Haruka Fukuhara,Minami Hamabe,Takumi Kitamura,... Animation,Comedy,Drama,Family,Romance,Sci-Fi Japan ... NA 97 movie 0 1 1 0 0 Prime Video 2
16573 16574 You Sang My Song 2017 NR 6.8 NA Walter Lang Susan Hayward,Rory Calhoun,David Wayne,Thelma ... Biography,Drama,Musical United States ... NA 117 movie 0 1 1 0 0 Prime Video 2

624 rows × 21 columns

In [36]:
# Movies Available on at least 1 Platform
print('\nTotal ', df_movies_ott[df_movies_ott['OTT Count'] == 1].shape[0], ' Titles are available on at least 1 Platforms\n')
movies_on_1_platforms = df_movies_ott[df_movies_ott['OTT Count'] == 1]
movies_on_1_platforms
Total  16290  Titles are available on at least 1 Platforms

Out[36]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
0 1 Inception 2010 13 8.8 87 Christopher Nolan Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot ... Action,Adventure,Sci-Fi,Thriller United States,United Kingdom ... Dom Cobb is a skilled thief, the absolute best... 148 movie 1 0 0 0 0 Netflix 1
1 2 The Matrix 1999 16 8.7 88 Lana Wachowski,Lilly Wachowski Keanu Reeves,Laurence Fishburne,Carrie-Anne Mo... Action,Sci-Fi United States ... Thomas A. Anderson is a man living two lives. ... 136 movie 1 0 0 0 0 Netflix 1
2 3 Avengers: Infinity War 2018 13 8.4 85 Anthony Russo,Joe Russo Robert Downey Jr.,Chris Hemsworth,Mark Ruffalo... Action,Adventure,Sci-Fi United States ... As the Avengers and their allies have continue... 149 movie 1 0 0 0 0 Netflix 1
3 4 Back to the Future 1985 7 8.5 96 Robert Zemeckis Michael J. Fox,Christopher Lloyd,Lea Thompson,... Adventure,Comedy,Sci-Fi United States ... Marty McFly, a typical American teenager of th... 116 movie 1 0 0 0 0 Netflix 1
5 6 Spider-Man: Into the Spider-Verse 2018 7 8.4 97 Bob Persichetti,Peter Ramsey,Rodney Rothman Shameik Moore,Jake Johnson,Hailee Steinfeld,Ma... Animation,Action,Adventure,Family,Sci-Fi United States ... Phil Lord and Christopher Miller, the creative... 117 movie 1 0 0 0 0 Netflix 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16918 16919 Pick of the Litter 2019 7 7.5 NA Don Hardy,Dana Nachman Diane Meer,Terry Blosser,Janet Gearheart,Sharo... Documentary United States ... Join National Geographic Explorer and photogra... 80 movie 0 0 0 1 0 Disney+ 1
16919 16920 The Lodge 2016 16 6.1 NA Severin Fiala,Veronika Franz Riley Keough,Jaeden Martell,Lia McHugh,Richard... Drama,Horror,Thriller United Kingdom,United States,Canada ... NA 108 movie 0 0 0 1 0 Disney+ 1
16920 16921 Spin and Marty 1955 0 7.6 NA NA Tim Considine,David Stollery,Roy Barcroft,Harr... Family,Western United States ... Each inspiring episode of Dog: Impossible foll... NA movie 0 0 0 1 0 Disney+ 1
16921 16922 Teacher's Pet 2000 0 7.1 NA George Seaton Clark Gable,Doris Day,Gig Young,Mamie Van Dore... Comedy,Romance United States ... NA 120 movie 0 0 0 1 0 Disney+ 1
16922 16923 Paradise Islands 2017 13 NA NA NA NA Drama United States ... NA NA movie 0 0 0 1 0 Disney+ 1

16290 rows × 21 columns

In [37]:
df_netflix_only_movies_ott = df_movies_ott[(df_movies_ott['Netflix'] == 1) & (df_movies_ott['Hulu'] == 0) & (df_movies_ott['Prime Video'] == 0 ) & (df_movies_ott['Disney+'] == 0)]
df_hulu_only_movies_ott = df_movies_ott[(df_movies_ott['Netflix'] == 0) & (df_movies_ott['Hulu'] == 1) & (df_movies_ott['Prime Video'] == 0 ) & (df_movies_ott['Disney+'] == 0)]
df_prime_video_only_movies_ott = df_movies_ott[(df_movies_ott['Netflix'] == 0) & (df_movies_ott['Hulu'] == 0) & (df_movies_ott['Prime Video'] == 1 ) & (df_movies_ott['Disney+'] == 0)]
df_disney_only_movies_ott = df_movies_ott[(df_movies_ott['Netflix'] == 0) & (df_movies_ott['Hulu'] == 0) & (df_movies_ott['Prime Video'] == 0 ) & (df_movies_ott['Disney+'] == 1)]
In [38]:
# Movies Available only on Netflix

print('\nTotal ', df_netflix_only_movies_ott['Title'].shape[0], ' Titles are available only on Netflix\n')

df_netflix_only_movies_ott
Total  3268  Titles are available only on Netflix

Out[38]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
0 1 Inception 2010 13 8.8 87 Christopher Nolan Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot ... Action,Adventure,Sci-Fi,Thriller United States,United Kingdom ... Dom Cobb is a skilled thief, the absolute best... 148 movie 1 0 0 0 0 Netflix 1
1 2 The Matrix 1999 16 8.7 88 Lana Wachowski,Lilly Wachowski Keanu Reeves,Laurence Fishburne,Carrie-Anne Mo... Action,Sci-Fi United States ... Thomas A. Anderson is a man living two lives. ... 136 movie 1 0 0 0 0 Netflix 1
2 3 Avengers: Infinity War 2018 13 8.4 85 Anthony Russo,Joe Russo Robert Downey Jr.,Chris Hemsworth,Mark Ruffalo... Action,Adventure,Sci-Fi United States ... As the Avengers and their allies have continue... 149 movie 1 0 0 0 0 Netflix 1
3 4 Back to the Future 1985 7 8.5 96 Robert Zemeckis Michael J. Fox,Christopher Lloyd,Lea Thompson,... Adventure,Comedy,Sci-Fi United States ... Marty McFly, a typical American teenager of th... 116 movie 1 0 0 0 0 Netflix 1
5 6 Spider-Man: Into the Spider-Verse 2018 7 8.4 97 Bob Persichetti,Peter Ramsey,Rodney Rothman Shameik Moore,Jake Johnson,Hailee Steinfeld,Ma... Animation,Action,Adventure,Family,Sci-Fi United States ... Phil Lord and Christopher Miller, the creative... 117 movie 1 0 0 0 0 Netflix 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16413 16414 Lovely Love Lie (The Liar and His Lover) 2017 NR 7 NA Norihiro Koizumi Takeru Satoh,Masataka Kubota,Yûki Morinaga,Ryô... Romance Japan ... In direct opposition to John Evans' wishes, hi... 117 movie 1 0 0 0 0 Netflix 1
16414 16415 Truth 2012 16 6.8 NA James Vanderbilt Cate Blanchett,Robert Redford,Topher Grace,Den... Biography,Drama,History,Thriller Australia,United States ... Welcome to Jingle City. It is a peaceful fairy... 125 movie 1 0 0 0 0 Netflix 1
16415 16416 In Between 2012 NR 7.3 NA Maysaloun Hamoud Mouna Hawa,Sana Jammelieh,Shaden Kanboura,Mahm... Drama France,Israel ... Sin Senos No Hay Paraiso tells the tragic stor... 103 movie 1 0 0 0 0 Netflix 1
16416 16417 Fairground Attractions 2011 NR 5.7 NA Mehmet Eryilmaz Fatih Al,Erol Babaoglu,Ahu Sila Bayer,Alpaslan... Drama Turkey ... NA 113 movie 1 0 0 0 0 Netflix 1
16417 16418 The Golden Path 2012 NR NA NA Maurice Costello,Robert Gaillard Maurice Costello,Mary Charleson,Naomi Childers... Short,Drama United States ... Captain Ray Holt takes over Brooklyn's 99th pr... 23 movie 1 0 0 0 0 Netflix 1

3268 rows × 21 columns

In [39]:
# Movies Available only on Hulu

print('\nTotal ', df_hulu_only_movies_ott['Title'].shape[0], ' Titles are available only on Hulu\n')

df_hulu_only_movies_ott
Total  783  Titles are available only on Hulu

Out[39]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
3459 3460 The Dark Knight 2008 13 9 87 Christopher Nolan Christian Bale,Heath Ledger,Aaron Eckhart,Mich... Action,Crime,Drama,Thriller United States,United Kingdom ... Set within a year after the events of Batman B... 152 movie 0 1 0 0 0 Hulu 1
3460 3461 GoodFellas 1990 16 8.7 96 Martin Scorsese Robert De Niro,Ray Liotta,Joe Pesci,Lorraine B... Biography,Crime,Drama United States ... Henry Hill might be a small time gangster, who... 146 movie 0 1 0 0 0 Hulu 1
3462 3463 Good Will Hunting 1997 16 8.3 98 Gus Van Sant Matt Damon,Ben Affleck,Stellan Skarsgård,John ... Drama,Romance United States ... A touching tale of a wayward young man who str... 126 movie 0 1 0 0 0 Hulu 1
3463 3464 The Green Mile 1999 16 8.6 78 Frank Darabont Tom Hanks,David Morse,Bonnie Hunt,Michael Clar... Crime,Drama,Fantasy,Mystery United States ... Death Row guards at a penitentiary, in the 193... 189 movie 0 1 0 0 0 Hulu 1
3464 3465 Batman Begins 2005 13 8.2 84 Christopher Nolan Christian Bale,Michael Caine,Liam Neeson,Katie... Action,Adventure United States,United Kingdom ... When his parents are killed, billionaire playb... 140 movie 0 1 0 0 0 Hulu 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16590 16591 Red Nose Day 2015 NR 6.7 NA Ryan Polito Malin Akerman,Kristen Bell,Jack Black,Bono,Yve... Comedy United States ... NA 120 movie 0 1 0 0 0 Hulu 1
16591 16592 The Paley Center 2000 NR 9.1 NA Brad Lachman Margaret Cho,Raúl Esparza,Kelli Giddish,Marisk... NA United States ... NA NA movie 0 1 0 0 0 Hulu 1
16592 16593 Summertime 2016 NR 6.7 NA Catherine Corsini Cécile de France,Izïa Higelin,Noémie Lvovsky,J... Drama,Romance France,Belgium ... NA 105 movie 0 1 0 0 0 Hulu 1
16593 16594 Bioterrorism: The Truth 2016 NR 7.3 NA Leonard Horowitz Leonard Horowitz Documentary United States ... Josh Rosenzweig, co-host of "Here with Josh & ... 150 movie 0 1 0 0 0 Hulu 1
16594 16595 Dick Clark's Primetime New Year's Rockin' Eve 2013 NR 4.8 NA Dennis Rosenblatt Ryan Seacrest,Jenny McCarthy,Jason Aldean,JT A... Comedy,Music United States ... An innovative look at the life of fictional Ma... NA movie 0 1 0 0 0 Hulu 1

783 rows × 21 columns

In [40]:
# Movies Available only on Prime Video

print('\nTotal ', df_prime_video_only_movies_ott['Title'].shape[0], ' Titles are available only on Prime Video\n')

df_prime_video_only_movies_ott
Total  11709  Titles are available only on Prime Video

Out[40]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
4314 4315 It's a Wonderful Life 1946 7 8.6 94 Frank Capra James Stewart,Donna Reed,Lionel Barrymore,Thom... Drama,Family,Fantasy United States ... George Bailey has spent his entire life giving... 130 movie 0 0 1 0 0 Prime Video 1
4315 4316 Downfall 2004 16 8.2 90 Oliver Hirschbiegel Bruno Ganz,Alexandra Maria Lara,Corinna Harfou... Biography,Drama,History,War Germany,Austria,Italy ... In April of 1945, Germany stands at the brink ... 156 movie 0 0 1 0 0 Prime Video 1
4316 4317 Sunset Boulevard 1950 NR 8.4 99 Billy Wilder William Holden,Gloria Swanson,Erich von Strohe... Drama,Film-Noir United States ... In Hollywood of the 50's, the obscure screenpl... 110 movie 0 0 1 0 0 Prime Video 1
4317 4318 Airplane! 1980 7 7.7 97 Jim Abrahams,David Zucker,Jerry Zucker Kareem Abdul-Jabbar,Lloyd Bridges,Peter Graves... Comedy United States ... Drowning his sorrows after that botched missio... 88 movie 0 0 1 0 0 Prime Video 1
4318 4319 Some Like It Hot 1959 NR 8.2 95 Billy Wilder Marilyn Monroe,Tony Curtis,Jack Lemmon,George ... Comedy,Music,Romance United States ... After two Chicago musicians, Joe and Jerry, wi... 121 movie 0 0 1 0 0 Prime Video 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16898 16899 Heaven on Earth 2004 NR 4.8 NA Kay Pollak Axelle Axell,Björn Bengtsson,Eric Ericson,Nikl... Comedy,Drama,Music,Romance Sweden ... Take an exotic location, add a mystery and som... 134 movie 0 0 1 0 0 Prime Video 1
16899 16900 Bigger Questions 2017 NR 5 NA Ron James Amit Goswami,Ron James,Charles Tart,William Ti... Documentary United States ... Babies of Car City are the Cars and Trucks' so... 52 movie 0 0 1 0 0 Prime Video 1
16900 16901 My Battalion 2014 NR 6.5 NA Dmitriy Meskhiev Lesya Andreeva,Mariya Antonova,Mariya Aronova,... Action,Drama,History,War Russia ... Becky (Rachel McAdams) is a hard-working morni... 120 movie 0 0 1 0 0 Prime Video 1
16901 16902 Morning Glory 2013 13 6.5 NA Roger Michell Rachel McAdams,Noah Bean,Jack Davidson,Vanessa... Comedy,Drama,Romance United States ... NA 107 movie 0 0 1 0 0 Prime Video 1
16902 16903 Dream Town 2015 18 6.2 NA Johannes Schaaf Per Oscarsson,Rosemarie Fendel,Olimpia,Eva Mar... Drama,Fantasy,Horror West Germany ... The war is over and almost everyone has experi... 124 movie 0 0 1 0 0 Prime Video 1

11709 rows × 21 columns

In [41]:
# Movies Available only on Disney+

print('\nTotal ', df_disney_only_movies_ott['Title'].shape[0], ' Titles are available only on Disney+\n')

df_disney_only_movies_ott
Total  530  Titles are available only on Disney+

Out[41]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
15730 15731 Star Wars: A New Hope 1977 7 8.6 92 George Lucas Mark Hamill,Harrison Ford,Carrie Fisher,Peter ... Action,Adventure,Fantasy,Sci-Fi United States,United Kingdom ... From the largest elephant to the smallest shre... 121 movie 0 0 0 1 0 Disney+ 1
15731 15732 Star Wars: The Empire Strikes Back 1980 7 8.7 94 Irvin Kershner Mark Hamill,Harrison Ford,Carrie Fisher,Billy ... Action,Adventure,Fantasy,Sci-Fi United States,United Kingdom ... 30 years after the defeat of Darth Vader and t... 124 movie 0 0 0 1 0 Disney+ 1
15732 15733 The Lion King 1994 7 6.9 93 Jon Favreau Chiwetel Ejiofor,John Oliver,James Earl Jones,... Animation,Adventure,Drama,Family,Musical United States,United Kingdom,South Africa ... With many people fearing the actions of super ... 118 movie 0 0 0 1 0 Disney+ 1
15733 15734 Toy Story 1995 0 8.3 98 John Lasseter Tom Hanks,Tim Allen,Don Rickles,Jim Varney,Wal... Animation,Adventure,Comedy,Family,Fantasy United States ... Imprisoned on the other side of the universe, ... 81 movie 0 0 0 1 0 Disney+ 1
15734 15735 Avengers: Endgame 2019 13 8.4 94 Anthony Russo,Joe Russo Robert Downey Jr.,Chris Evans,Mark Ruffalo,Chr... Action,Adventure,Drama,Sci-Fi United States ... An elderly man reads the book "The Princess Br... 181 movie 0 0 0 1 0 Disney+ 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
16918 16919 Pick of the Litter 2019 7 7.5 NA Don Hardy,Dana Nachman Diane Meer,Terry Blosser,Janet Gearheart,Sharo... Documentary United States ... Join National Geographic Explorer and photogra... 80 movie 0 0 0 1 0 Disney+ 1
16919 16920 The Lodge 2016 16 6.1 NA Severin Fiala,Veronika Franz Riley Keough,Jaeden Martell,Lia McHugh,Richard... Drama,Horror,Thriller United Kingdom,United States,Canada ... NA 108 movie 0 0 0 1 0 Disney+ 1
16920 16921 Spin and Marty 1955 0 7.6 NA NA Tim Considine,David Stollery,Roy Barcroft,Harr... Family,Western United States ... Each inspiring episode of Dog: Impossible foll... NA movie 0 0 0 1 0 Disney+ 1
16921 16922 Teacher's Pet 2000 0 7.1 NA George Seaton Clark Gable,Doris Day,Gig Young,Mamie Van Dore... Comedy,Romance United States ... NA 120 movie 0 0 0 1 0 Disney+ 1
16922 16923 Paradise Islands 2017 13 NA NA NA NA Drama United States ... NA NA movie 0 0 0 1 0 Disney+ 1

530 rows × 21 columns

In [42]:
ott_group_count = df_movies_ott.groupby('OTT Count')['Title'].count()
ott_group_movies = df_movies_ott.groupby('OTT Count')[['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum()
ott_group_data_movies = pd.concat([ott_group_count, ott_group_movies], axis = 1).reset_index().rename(columns = {'Title' : 'Movies Count'})
ott_group_data_movies = ott_group_data_movies.sort_values(by = 'Movies Count', ascending = False)
In [43]:
ott_group_data_movies
Out[43]:
OTT Count Movies Count Netflix Hulu Prime Video Disney+
0 1 16290 3268 783 11709 530
1 2 624 362 268 589 29
2 3 9 7 9 9 2
In [44]:
# Title Group with Movies Counts - All Platforms Combined
ott_group_data_movies.sort_values(by = 'Movies Count', ascending = False)
Out[44]:
OTT Count Movies Count Netflix Hulu Prime Video Disney+
0 1 16290 3268 783 11709 530
1 2 624 362 268 589 29
2 3 9 7 9 9 2
In [45]:
ott_group_data_movies.sort_values(by = 'OTT Count', ascending = False)
Out[45]:
OTT Count Movies Count Netflix Hulu Prime Video Disney+
2 3 9 7 9 9 2
1 2 624 362 268 589 29
0 1 16290 3268 783 11709 530
In [46]:
fig = px.bar(y = ott_group_data_movies['Movies Count'],
             x = ott_group_data_movies['OTT Count'], 
             color = ott_group_data_movies['OTT Count'],
             color_continuous_scale = 'Teal_r', 
             labels = { 'y' : 'Movies Count', 'x' : 'OTT Count'},
             title  = 'Movies with Group Title : All Platforms')
fig.update_layout(plot_bgcolor = "white")
fig.show()
In [47]:
fig = px.pie(ott_group_data_movies,
             names = ott_group_data_movies['OTT Count'],
             values = ott_group_data_movies['Movies Count'],
             color = ott_group_data_movies['Movies Count'],
             color_discrete_sequence = px.colors.sequential.Teal)

fig.update_traces(textinfo = 'percent+label',
                  title = 'Movies Count based on OTT Count')
fig.show()